package com.todo.sight.application.entity.bo;

import com.todo.common.common.enums.EnableTypeEnum;
import com.todo.sight.common.enums.PoiBusinessTypeEnum;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author azhebuxing
 * @date 2024/12/10 00:42
 * @description
 */
@Data
public class SearchSightSummaryDetailBO {

    private Long sightId;

    private Long poiId;

    private SightSummary sightSummary;

    private SightPoi poiInfo;


    @Data
    public static class SightSummary {
        /**
         * 标题
         */
        private String title;
        /**
         * 宣传口号
         */
        private String slogan;
        /**
         * poi
         */
        private Long poiId;
        /**
         * 省份
         */
        private String province;
        /**
         * 城市
         */
        private String city;
        /**
         * 评分
         */
        private Integer score;
        /**
         * 热度
         */
        private Integer hot;
        /**
         * 详细地址
         */
        private String address;
        /**
         * 主图
         */
        private String mainImg;
        /**
         * 是否展示
         */
        private EnableTypeEnum isShow;
        /**
         * 是否营业
         */
        private Integer isOpen;
        /**
         * 景点详情描述
         */
        private String desc;
        /**
         * 开放时间
         */
        private String openTime;
    }

    @Data
    public static class SightPoi {
        /**
         * 名称
         */
        private String name;
        /**
         * 业务大类
         */
        private PoiBusinessTypeEnum businessType;
        /**
         * 省份
         */
        private String province;
        /**
         * 城市
         */
        private String city;
        /**
         * 区县
         */
        private String district;
        /**
         * 乡镇
         */
        private String town;
        /**
         * 具体地址
         */
        private String address;
        /**
         * poi类型
         */
        private Integer poiType;
        /**
         * 类型列表
         */
        private List<String> typeList;
        /**
         * 经度
         */
        private BigDecimal lon;
        /**
         * 维度
         */
        private BigDecimal lat;
        /**
         * 评分
         */
        private Integer rating;
        /**
         * 开放时间
         */
        private String openTime;
        /**
         * 是否展示
         */
        private EnableTypeEnum isShow;
    }
}
